استفاده از EEPROM داخلی با Bascom AVR
پیغام مدیر :
با سلام خدمت شما بازديدكننده گرامي ، خوش آمدید به سایت من . لطفا براي هرچه بهتر شدن مطالب اين وب سایت ، ما را از نظرات و پيشنهادات خود آگاه سازيد و به ما را در بهتر شدن كيفيت مطالب ياري کنید.
استفاده از EEPROM داخلی با Bascom AVR
نوشته شده در چهار شنبه 25 تير 1393
بازدید : 889
نویسنده : admin

استفاده از EEPROM داخلی با Bascom AVR

E0

گاهی اوقات در طراحی سیستم های الکترونیکی نیاز داریم تا مقدار متغییر ها را در یک حافظه دائمی ذخیره کنیم تا در صورت قطع تغذیه اطلاعات از دست نرود. مثلا در سیستم ترموستات حتما نیاز است تا مقدار دمای نرمال که دمای محیط با آن مقایسه می شود همیشه بعد از تنظیم محفوظ بماند تا هر بار بعد از قطع برق نیازی به تنظیم مجدد آن نباشد. برای ذخیره این مقادیر می توان از حافظه های EEPROM داخلی میکروکنترلر نیز استفاده کرد. استفاده از حافظه EEPROM داخلی به جای حافظه های خارجی باعث کاهش هزینه ها می شود.

 

در این پروژه قصد داریم تا با ارئه یک نمونه آموزش نحوه استفاده از حافظه داخلی میکروکنترلر AVR را با استفاده از کامپایلر Bascom AVR آموزش دهیم.

 

برای این کار می توان از دستور Writeeeprom استفاده کرد. در زمان استفاده از این دستور باید مکان حافظه که قرار است اطلاعات در آن ذخیره شود نیز داده شود. یعنی مدیریت مکان های حافظه جهت ذخیره سازی اطلاعات به دست ما انجام می شود و باید دقت کرد تا در زمان آدرس دهی هم پوشانی رخ ندهد.

جهت روشن تر شدن این مسئله، سورس زیر بر روی میکرو کنترلر تست شد:

E1

وضعیت حافظه EEPROM از قرار زیر شد:

E2

چون متغییر مرد نظر از نوع word و با طول ۲ بایت می باشد پس باید حواسمان باشد که در صورت استفاده مجدد از دستور Writeeeprom ، باید اطلاعات را به خانه های غیر از ۰۲ و ۰۳ هدایت کنیم.

 

در صورتی که در آدرس دهی خانه های حافظه اشتباه کنیم اطلاعت ذخیره شده نا معتبر خواهند شد. پیشنهاد ما تغییر روش در استفاده از حافظه EEPROM می باشد. روشی موثر که این بار مدیریت مکان ها ذخیره سازی اطلاعات به صورت اتوماتیک توسط خود کامپایلر انجام می شود و ضریب اطمینان ۱۰۰% دارد.

بهتر است در زمان تعریف یک متغییر از نوع معمولی ( SRAM ) همان متغییر را با یک نام مشابه از جنس EEPROM نیز تعریف شود.

E3

 

با روش بالا، خود کامپایلر اولین جای خالی را برای ذخیره متغییر استفاده میکند و چون این فرایند توسط خود کامپایلر انجام می شود، احتمال خطا صفر می باشد.

 

نکته: توجه داشته باشید که اول برنام تمام متغییر های ذخیره شده در حافظه eeprom باید در متغییر ها معمولی باز نشانده شود.

 

برای درک بهتر این مسئله یک مثال آموزش تهیه شده است که در نرم افزار پروتیوس نیز شبیه سازی شده است. با استفاده از کلید های UP و DOWNE میتوان مقدار متغیر I را کم و زیاد کرد. مقدار این متغیر با ریست کردن میکروکنترلر از بین نمیرود.

 

برنامه این پروژه به روش ساب روتین نوشته شده است و جنبه آموزشی سورس این پروژه شامل نحوه کد نویسی نیز می شود.

جهت مشاهده سورس این پروژه اینجا کلیک کنید.

 

اهداف آموزشی:

       • آشنایی با حافظه EEPROM داخلی میکروکنترلر

.        • آشنایی با روش ذخیره کردن و خواندن اطلاعت از حافظه EEPROM داخلی میکروکنترلر AVR

.        • آشنایی با روش برنامه نویسی ساب روتین

 

محتویات فایل دانلود:

.        • سورس برنامه با کامپایلر Bascom AVR

.        • شبیه سازی پروژه با نرم افزار پروتیوس

 

جهت دانلود فایل های این پروژه اینجا کلیک کنید. ( ۷۸KB )



:: موضوعات مرتبط: .::پروژه::. , ,
:: برچسب‌ها: EEPROM داخلی میکروکنترلر، EEPROM داخلی میکروکنترلر AVR، استفاده از EEPROM داخلی ,



مطالب مرتبط با این پست
.



می توانید دیدگاه خود را بنویسید


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه: